开源可能面临的合规审计问题包含对外和对内两点。对外来说设计开源许可证合规、开源软件使用权限等;对内来说涉及使用台账、风险预警等。如何满足开源合规审计需求一直是企业安全部门竭力探索的难题。其中就包括:
# 1.著作权侵权风险
著作权侵权风险包括违反许可证和著作权瑕疵两种。
违反开源许可证:除依法律法规之外,开源软件的作者或权利人主要按照开源许可证来维护其著作权。法律上而言,开源许可证是一种合同,是软件使用者得以依开源许可证合理使用开源软件的合法凭证,一旦其采取相应行为(如使用开源软件)就可视为该使用者与作者或权利人意思表示一致(即达成合意),并以其行为表示愿意接受开源许可证的约束。若开源软件使用者未依照相应的许可证使用开源软件,将可能面临来自开源软件作者或权利人的诉讼。同时由于各类开源许可证的义务与要求存有差异,因此在使用或引入开源软件时,需要注意各开源软件所适用的开源许可证兼容性问题。
开源软件存在著作权瑕疵:由于参与开源软件开发的贡献者可能人数众多,且任何开源软件使用者只要遵守开源软件许可证的义务与要求,都可以自由的使用、修改或分发开源软件,因此很可能会导致侵权代码的流入开源软件中。同时开源软件的性质使开发者不承担瑕疵担保责任以及保留著作权标记。因此,开源软件的用户使用了“不清洁”的开源软件所造成的侵权责任,需要自己承担。瑕疵担保责任一般发生在有偿合同中,而开源软件及其衍生软件通常都是免费提供的,开发者并不负有瑕疵担保责任。
# 2.专利侵权风险
不同于著作权,专利要求公开技术方案,而著作权中的软件源代码不必公开。开源软件倡导“自由共享”,即只有将源代码开放,保证软件的代码可以被所有人使用、学习和再创作,才能保证软件的持续发展。所以,专利保护开源软件的方法和功能,著作权保护开源软件作品的表达。同时,一些开放源代码软件许可证中明确声明,免费授予包含在该开源软件中的专利权,但一些开放软件许可证中未明确表达这一点。
使用
# 3.商标侵权风险
不同于旨在激励独创性作品和创造性发明的著作权法和专利法,商标法的目的是通过保证产品或服务的来源从而保护消费者。因为开源软件的用户通常有权在原来的代码基础上开发新产品,所以有时开源项目的衍生产品无权使用与原项目相同的商标。基于此,需要检查是否有不当使用商标的行为。
一是未经开源促进会认证的开源许可协议,若使用了OSI关于opensource的商标,将构成商标侵权。即使是经过认证的开源许可协议,也应当按照相关规定或指南,正确使用相关标志。
二是开源软件者未经正式授权或未按照许可证规定,擅自使用许可人商标、商号、服务标记等进行商业性宣传和使用,将存在侵权风险。虽描述性使用或指示性的使用不构成商标侵权,但也需遵守相关的义务和使用规范,合理合法使用商标。
三是开源软件协议为全球性而商标具有地域性,在绝大多数国家商标往往以申请在先为原则,故在相应地区的使用中,即使获得许可人授权且符合许可证中的使用规定,如存在与他人在相同或近似的类别上在先已注册的商标相同/高度近似的情况,依然会存在相应的侵权风险。
CodeAnt合规审计流程实现了流程可控、数据可查、责任可考核。
- 台账:组件使用详细记录台账,供应链流转完整台账
- 报告:能自动生成SBOM和项目安全分析报告
- 合规:监控整个许可证风险体系,断供分析预警提供相应专家知识库支撑
- 审计:组件,人员,项目的引入,上线,退出有完整审批流程和留痕